HightouchのSourceにGoogle BigQueryを設定してみた
こんにちは、スズです。
Hightouchでは、Google BigQueryをSourceに設定することで、Google BigQueryのデータをDestinationにプッシュすることができます。HightouchのSourceにGoogle BigQueryを設定してみましたので、本記事にてご紹介します。
はじめに
設定については、Hightouchの公式ドキュメントに記載があります。本記事では、公式ドキュメントを元に設定を行っていきます。
設定手順
前提条件
設定に入る前に、今回使用するGoogle BigQueryは以下の状態になっています。
- プロジェクトにデータセットが存在する
- BigQuery APIが有効になっている
サービスアカウントの作成
まずはサービスアカウントを作成していきます。Hightouchの[Settings]タブの右上にある[Add cloud provider]をクリックします。
[Select a cloud provider]にて「Google Cloud Platform」をクリックします。
[Configure GCP service account]が表示されます。ここでは、以下の中からアクセス方法を設定します。
- Service account managed by Hightouch
- Bring your own service account
[Service account managed by Hightouch]の場合、HightouchはGoogle Cloudアカウント内にサービスアカウントを作成し、プロジェクトのIAMポリシーをバインドできます。[Bring your own service account]の場合、サービスアカウントのキーをアップロードします。
今回は[Service account managed by Hightouch]を利用します。[Service account managed by Hightouch]の場合、[Create a new service account]をクリックするとサービスアカウントが作成されます。このサービスアカウントをGoogle Cloudでの設定に使います。サービスアカウントを作成したら、[Create]をクリックします。
Google Cloudに移動し、IAMにプリンシパルを追加します。
追加するプリンシパルには、先ほどHightouchで作成したサービスアカウントを設定します。また、プリンシパルにはロールを割り当て、Hightouchからのアクセスを許可します。フルアクセスを許可する場合は、以下のロールを割り当てます。
- bigquery.user
メタデータの読み取り、テーブルの一覧の表示。 - bigquery.dataViewer
テーブルとビューからのデータの読み取り。
Sourceの追加
[Sources]タブの[Add source]をクリックします。
[Select a data source]にて「Google BigQuery」をクリックします。
ここからは接続の構成を設定していきます。画面上では3つのステップに分かれています。
STEP 1
GCP credentialに、先ほどHightouchで作成したサービスアカウントを設定します。
STEP 2
Google BigQueryのProject IDと、データセットのロケーションを設定します。
STEP 3
データモデルの増分変更を追跡するための同期エンジンを選択します。
- Standard sync engine
データベース内のクエリを実行し、全てのクエリ結果を読み取り、Hightouchのインフラストラクチャを使用して増分変更を決定する。読み取りアクセスが必要。 - Lightning sync engine 以前に同期されたデータを、Hightouchによって管理されるGoogle BigQueryの別のスキーマに保存する。Google BigQueryの読み取りおよび書き込みアクセスが必要。
設定後、[Continue]をクリックして次に進みます。
接続テストが行われます。テストに成功したら、[Continue]をクリックして次に進みます。
最後にSourceの名前を設定し、[Finish]をクリックして設定完了です。
最後に
HightouchのSourceにGoogle BigQueryを設定してみました。今回初めてHightouchを触ってみましたが、ドキュメントに従ってスムーズに設定が行えました。迷わず設定できて、簡単に連携していくことができそうです。